export function convertDataFormat(rule, x) {
  if (x !== null && x !== undefined && x !== "") {
    if (rule === "百分数") {
      if (x.toString().includes(".")) {
        let v = x.toString().split(".")[1];
        if (v.length > 2) {
          return (parseFloat(x) * 100).toFixed(2) + "%";
        } else {
          return (parseFloat(x) * 100).toFixed(0) + "%";
        }
      } else {
        return parseFloat(x) * 100 + "%";
      }
    } else if (rule === "整数") {
      return parseInt(x);
    } else if (rule === "浮点数") {
      return parseFloat(x);
    }
  } else {
    return x;
  }
}

import * as CryptoJS from "crypto-js";

export function decrypt(data: string): string {
  const key = "zsztjmmy";
  const encryptedData = CryptoJS.enc.Hex.parse(data);

  // 设置解密参数
  const options = {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  };

  // 解密数据
  const decrypted = CryptoJS.DES.decrypt({ ciphertext: encryptedData }, CryptoJS.enc.Utf8.parse(key), options);

  // 将解密后的数据转为字符串并返回
  return decrypted.toString(CryptoJS.enc.Utf8);
}

export function encrypt(data: string): string {
  const key = "zsztjmmy";

  // 将待加密数据转换为 UTF-8 编码
  const utf8Data = CryptoJS.enc.Utf8.parse(data);

  // 设置加密参数
  const options = {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  };

  // 加密数据
  const encrypted = CryptoJS.DES.encrypt(utf8Data, CryptoJS.enc.Utf8.parse(key), options);

  // 将加密后的数据转换为十六进制表示并返回
  return encrypted.ciphertext.toString();
}
